/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.general.bc;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.cip.esymons.general.be.TelefonoSolicitante;

/**
 *
 * @author ADMINISTRADOR
 */
@Stateless
public class TelefonoSolicitanteFacade implements TelefonoSolicitanteFacadeLocal {
    @PersistenceContext
    private EntityManager em;

    public void create(TelefonoSolicitante telefonoSolicitante) {
        em.persist(telefonoSolicitante);
    }

    public void edit(TelefonoSolicitante telefonoSolicitante) {
        em.merge(telefonoSolicitante);
    }

    public void remove(TelefonoSolicitante telefonoSolicitante) {
        TelefonoSolicitante aux = em.merge(telefonoSolicitante);
        em.remove(aux);
    }

    public TelefonoSolicitante find(Object id) {
        return em.find(TelefonoSolicitante.class, id);
    }

    public TelefonoSolicitante buscarXSolicitante(Long id) {
        String sql = "SELECT object(t) ";
               sql+= "FROM TelefonoSolicitante AS t ";
               sql+= "WHERE t.solCodigo.solCodigo=?1";
        return (TelefonoSolicitante)em.createQuery(sql).setParameter(1, id).getSingleResult();
    }

    public List<TelefonoSolicitante> findAll() {
        return em.createQuery("select object(o) from TelefonoSolicitante as o").getResultList();
    }
    
    public List<TelefonoSolicitante> listaTelefonoColegiado(Long codigo) {
       return em.createQuery("select object(o) from TelefonoSolicitante as o where o.solCodigo.solCodigo=?1").setParameter(1, codigo).getResultList();
    }

    public TelefonoSolicitante buscaTelefonoFijo(Long codigo){

     List<TelefonoSolicitante> listaTelefono;
     TelefonoSolicitante telefono;
     try{

          listaTelefono =  em.createQuery("select t from TelefonoSolicitante t where t.tsotipoTelefono = 'fijo' and t.solCodigo.solCodigo=?1").setParameter(1, codigo).getResultList();
          telefono =  new TelefonoSolicitante();
          telefono = listaTelefono.get(0);
          return telefono;

         }catch(Exception ex){
          return null;
         }
    }

    //lizardo
//    public List<TelefonoSolicitante> listarTelefonoSolicitante(Long solCodigo) {
//
//    }

    public TelefonoSolicitante buscaCelular(Long codigo){

     List<TelefonoSolicitante> listaCelular;   
     TelefonoSolicitante celular;
    try{
          listaCelular = em.createQuery("select t from TelefonoSolicitante t where t.tsotipoTelefono = 'celular' and t.solCodigo.solCodigo=?1").setParameter(1, codigo).getResultList();
          celular = new TelefonoSolicitante();
          celular = listaCelular.get(0);

          return celular;

         }catch(Exception ex){
          return null;
         }
    }

    public List<TelefonoSolicitante> listaCelular(Long codigo){

        try{
          return em.createQuery("select t from TelefonoSolicitante t where t.tsotipoTelefono = 'celular' and t.solCodigo.solCodigo=?1").setParameter(1, codigo).getResultList();
         }catch(Exception ex){
          return null;
         }
    }

        public List<TelefonoSolicitante> listaFijos(Long codigo){

        try{
          return em.createQuery("select t from TelefonoSolicitante t where t.tsotipoTelefono = 'fijo' and t.solCodigo.solCodigo=?1").setParameter(1, codigo).getResultList();
         }catch(Exception ex){
          return null;
         }
    }

}
